Development · Phase 04 of 04

Make deployment
a governed release event.

In a regulated environment, release automation is not just CI/CD convenience. It is the control surface that determines whether requirements, validation evidence, human approvals, and deployment records stay synchronized. The pipeline below is strong in structure, but it only becomes audit-defensible when the key system-of-record checks are enforced as hard gates.

Figma Gate Helix State ADO Hooks Coverage Gate Part 11 Review

The current flow has the right bones.

Several parts of the proposed pipeline are already aligned with a GxP-friendly release model. Those are worth preserving because they reduce ambiguity before code, testing, and deployment diverge.

Strength 01

Figma asset validation runs as a hard entry gate

Checking that all required UI assets exist before SpecKit runs is exactly the right move. It prevents underspecified screens from becoming compliant-looking but incomplete implementation work.

Strength 02

The traceability chain is coherent end to end

Figma screen to PBI to URS/FS to spec.md to test case to Helix is the right structural answer to requirements-to-test coverage. The release process should reinforce that chain, not bypass it.

Strength 03

Audit records are event-driven instead of manual

ADO hooks on workitem.created, workitem.updated, build.complete, and deployment.completed make the evidence trail timestamped and reproducible.

Preserve this principle
Release automation should confirm system state, not assume it. The structure is already sound. The main gap is enforcement.

Three controls need to be explicit before deployment is truly defensible.

These are the highest-value additions because they turn informal expectations into system-enforced release criteria.

Gate 01

Helix must be enforced, not implied

If Phase 3 can continue after ADO approval while Helix is incomplete, then Helix is not really the source of truth. Add a GitHub Action check that queries Helix before triggering the next phase and block repository_dispatch if linked requirements are not approved or lack risk linkage.

Gate 02

Replace polling with a deterministic trigger

Cron polling creates timing ambiguity. A Helix webhook or an ADO workitem.updated hook on transition to Requirements Approved is cleaner because the release package can point to a single trigger event and timestamp.

Gate 03

Agent-generated Part 11 content needs a human review gate

Agent 5 output should be treated as draft narrative only. Insert a QA or Regulatory Affairs review step before certificate sign-off so the AI-generated text is editorially reviewed before it enters a regulated approval flow.

Release rule

If a required system can be bypassed by process memory, it is not a gate. In this workflow, Helix state, deterministic triggering, and human review of AI-generated compliance language need to be machine-visible release criteria.

A compliant SDLC needs failure and re-entry paths, not only the happy path.

One of the biggest audit weaknesses in automation diagrams is omission of blocked-gate behavior. The release model should show what happens when approvals, verification, or compliance review fail.

1

Requirements rejected

If BA review fails, route the work back to Agent 1 re-intake or clarification. The rejected state should be visible in ADO and tied to the original requirement record.

2

Helix compliance check fails

If requirement state, risk linkage, or validation plan metadata are incomplete in Helix, stop phase progression and reopen the requirement package instead of allowing code work to continue.

3

Verification fails

Failed validation or open critical defects should create a defect-linked ADO item and send the release back to Phase 3 implementation rather than leaving the result as an informal note on the run.

4

Part 11 narrative rejected

If QA or Regulatory Affairs rejects the narrative package, send it back for agent revision and human rewrite before certificate workflow resumes.

Why this matters
Deviation handling is part of the SDLC, not an exception to it. Auditors will ask what happens when a gate blocks. The answer must exist in the process model itself.

Define the thresholds in code or config so release timing stays predictable.

The remaining gaps are mostly threshold problems: the workflow references tests, clarification, and approvals, but not always the measurable conditions that determine pass or fail.

Threshold 01

Coverage must have a minimum enforced value

Add a coverage gate in GitHub Actions such as pytest --cov --cov-fail-under=<threshold> or the equivalent for the stack. Store the threshold in constitution.md or SpecKit config so it is traceable to the validation plan.

Threshold 02

The /speckit.clarify loop needs a max round count

Set an explicit ceiling such as two clarification rounds. After that, unresolved items should escalate to a PO scoping decision rather than silently turning the release pipeline into informal discovery work.

Threshold 03

Release readiness needs a declared stop line

Before deployment, require code freeze confirmation, zero open P1 defects, completed traceability artifacts, and approved SDS or equivalent system documentation where applicable.

Practical rule: every threshold that matters to release should live in version-controlled automation or configuration, not only in team memory or meeting notes.

Use a phase-based release checklist so each gate has a named owner and a visible decision.

This format works well because it maps the release conversation to concrete checkpoints rather than a generic “ready to deploy” question.

Phase 0 · Figma GH Action

Design assets complete

  • All screens linked.
  • No assets-missing block.
  • Spec generation only starts after the design gate passes.
Phase 1 · BA / PO / QA

Requirements package approved

  • URS and FS exist on the drafts/ branch.
  • Helix requirements are in Approved state.
  • Required risk linkage is present before engineering proceeds.
Phase 2 · Validation Lead / QA

Validation readiness confirmed

  • Risk register is complete.
  • Validation plan is approved in Helix.
  • ADO state is explicitly set to Ready.
Phase 3 · Engineering / System Owner

Implementation release gate

  • All PRs are reviewed.
  • SDS is approved where required.
  • Unit test coverage meets the configured threshold.
  • Code freeze is confirmed.
Phase 4 · Independent Review / PO UAT

Verification evidence complete

  • All test cases are executed.
  • Trace matrix is complete in drafts/.
  • There are zero open P1 defects.
Phase 5 · Review Team

Deployment approval package complete

  • Agent 5 draft is QA-reviewed before sign-off.
  • Certificate is signed.
  • Part 11 narrative is approved.
  • DevOps deployment event is confirmed and recorded.

Small implementation choices make the release package much easier to defend.

These are not headline architecture changes. They are the details that make evidence cleaner during internal review and external audit.

Tip 01

Store trigger metadata with every gate decision

Capture the source event, timestamp, actor or service principal, and linked work item IDs in the same record. This removes ambiguity about what actually caused a phase transition.

Tip 02

Version-control the gate logic

Coverage thresholds, Helix validation checks, and allowable state transitions should live in workflow code or checked-in config so the release standard is inspectable and reviewable over time.

Tip 03

Treat failures as evidence too

Do not only archive successful runs. Blocked releases, rejected narratives, and failed verification passes should all leave durable records that show how the process handled deviations.

Tip 04

Do not let narrative documents stand alone

The Part 11 package should reference actual system records such as Helix IDs, ADO IDs, PR links, test reports, and deployment events. Narrative without linked evidence is weak control documentation.

Section takeaway
Deployment readiness in a regulated pipeline is a state-verification problem. The strongest version of this workflow keeps human approvals, Helix records, test thresholds, traceability artifacts, and the deployment event aligned by automation rather than by memory.